package ysu.sxm.ptjc.Dao;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import ysu.sxm.ptjc.Domin.DateRange;
import ysu.sxm.ptjc.pojo.*;

import java.util.List;


@Repository
public interface DefectTopDao {
    /**
     * 查询produce_num
     */
    List<String> getProNum(@Param("dateRange") DateRange dateRange);
    /**
     * 查询对应月份的总生产数目
     */
    Long produceTotal(@Param("produceNums") List<String> produceNums);
    /**
     * 获取缺陷描述的id
     */
    List<DefectTypeInfo> getDiscrapeId(@Param("produceNums") List<String> produceNums);

    /**
     * @param
     * @return
     */
    CastingDefectsInfo getCastingDefect(@Param("conditions") List<String> conditions,@Param("defectTypeInfos") List<DefectTypeInfo> defectTypeInfos);
    ExtrusionDefectInfo getExtrusionDefectInfo(@Param("conditions") List<String> conditions,@Param("defectTypeInfos") List<DefectTypeInfo> defectTypeInfos);
    MachiningDefectsInfo getMachiningDefectsInfo(@Param("conditions") List<String> conditions,@Param("defectTypeInfos") List<DefectTypeInfo> defectTypeInfos);
    PolishingDefectInfo getPolishingDefectInfo(@Param("conditions") List<String> conditions,@Param("defectTypeInfos") List<DefectTypeInfo> defectTypeInfos);
    OxidationDefectInfo getOxidationDefectInfo(@Param("conditions") List<String> conditions,@Param("defectTypeInfos") List<DefectTypeInfo> defectTypeInfos);
    AssemblyDefectInfo getAssemblyDefectInfo(@Param("conditions") List<String> conditions,@Param("defectTypeInfos") List<DefectTypeInfo> defectTypeInfos);
    CdpDefectInfo getCdpDefectInfo(@Param("conditions") List<String> conditions,@Param("defectTypeInfos") List<DefectTypeInfo> defectTypeInfos);
}
